A computer communications network is made up of a number of stations connected by a communications medium. A number of stations having a limited geographical extent is often referred to as a Local Area Network, or LAN. A number of LANs may be connected together by a variety of means in order to form a communications network. The LANs may be connected by bridges operating in the Medium Access Control, MAC, or Logical Link Layer, LLC of the OSI seven layer communications model, or alternatively, may be connected by routers operating in higher layers of the OSI seven layer model, or as a further alternative, may be connected by other means.
A note on terminology is in order. A number of LANs connected together will be referred to as a network. An individual LAN will be referred to as a system, as for example an ethernet IEEE 802.3 system, or for example a token ring IEEE 802.5 system, or for a further example an ANSI/IEEE FDDI token ring system, etc.
Quotation marks are used to enclose a phrase in order to improve the readability of a sentence. For example, a compound noun may be enclosed in quotation marks. However, in many sentences quotation marks are not needed for improved readability of the sentence, and so are not used.
The stations communicate by transmitting frames onto the medium, and by the stations detecting the frames. When a station detects a frame addressed to that station, then the station receives the frame by transferring the frame from the layer handling medium access, referred to as the MAC sublayer or Medium Access Control layer, to the LLC sublayer for delivery to a higher client layer. Frames transmitted or received for higher layers are called client frames.
For a token ring network, permission for a station to transmit onto the medium is controlled by a token which is passed from station to station. Possession of the token gives the station permission to transmit onto the medium.
Transmission errors or medium transients may cause frames or tokens to be corrupted. In order to detect and recover from these transient errors, each station maintains a timer in order to insure that a valid frame or token is received within a specified time period. For example, in both the IEEE 802.5 Token Ring Standard and in the Fiber Data Distributed Interface (FDDI) Standard, this timer is referred to as the Transmission Valid Timer, and is further referred to as the TVX timer. In this document the Transmission Valid Timer will be referred to as the TVX timer.
The TVX timer is assigned a timeout value. If a valid frame or token is not received within the timeout value, then the TVX timer will expire. Expiration of the TVX timer in a station typically causes the station to initiate fault recovery and ring initialization.
A number of conditions in stations on a communications network can cause the TVX timer to erroneously expire. Erroneous expiration of the TVX timer causes erroneous initiation of fault recovery and ring initialization, and consequently degrades performance of the ring communication network. The presence of a fault may cause repeated expirations of the TVX timer, and each expiration may then be followed by fault recovery and ring initialization. Repeated cycles of expiration of the TVX timer followed by initiation of fault recovery and ring initialization is described by the term, "RingOp/Claim oscillations". RingOp/Claim oscillations interfere with transmission of desired messages between stations, and may substantially prevent transmission of such messages.
A first exemplary condition causing erroneous expiration of the TVX timer is the situation where a station has a duplicate address of another station on the communications network. Duplicate station addresses are particularly severe problem in token controlled ring communications systems using source address stripping. The station having the duplicate address erroneously strips frames of the other station, causing a loss of traffic downstream from the stripping station. The prolonged loss of downstream traffic causes downstream stations to have their TVX timer expire, and to therefore erroneously initiate fault recovery and ring initialization. Accordingly, duplicate station addresses lead to RingOp/Claim oscillations, particularly in a communications system using source address stripping.
There are at least two cases of a station having a duplicate address. In the first case the two stations having duplicate addresses are connected into the same LAN, and in the second case the two stations having the duplicate addresses are in different LANs where the two LANs are connected, for example by a bridge, etc.
A station has a unique address, called "my address", used to identify the MAC layer of the station. Additionally, a station that forwards frames which originated in other stations, such as stations on other LANs, may maintain a table of source addresses referred to as a SA list. For example, when a bridge forwards a frame onto a LAN, the source address of the frame contains the "my address" of the originating station, and the SA list of the bridge station also contains the "my address" of the originating station so that the forwarding bridge station will have information in order to perform source address stripping and remove the frame from the LAN. Removal of the frame, by source address stripping, occurs after the frame circumnavigates a ring LAN and returns to the bridge station transmitting it onto the ring LAN.
As a further example of entries in a station's SA list, a station may use several addresses for reception and transmission of frames in addition to the "my address" of the station. Examples of additional addresses used for frame transmission include multiple protocol stacks in a station, addresses used for network management, et cet. And the addresses used for frame transmission in addition to the station's unique "my address" are entered into the station's SA list. And duplicate addresses in the SA lists of stations using source address stripping may lead to false re-initialization of the network.
A number of methods have been advanced in order to eliminate the presence of duplicate station address in a single LAN. For example, methods advanced for the FDDI network are Ring Management, RMT, and Station Management, SMT protocols. Particularly in SMT, Duplicate Address Test, DAT, which is part of Neighbor Notification protocol are helpful in dealing with stations on a single LAN, where the stations have duplicate "my addresses", and reference to ANSI documents describing these protocols is given hereinbelow in the Appendix.
However, the interconnection of LANs into ever larger networks may bring tens of thousands of stations into a large communications network. RMT and DAT become impractical as a means for detecting and dealing with stations having duplicate addresses in large networks having many interconnected LANs because RMT and DAT require execution of logic upon detection of frames. The logic is, for example, executed in software. And software is too slow for efficient use of the large network. Further, DAT procedures require transmission of Neighbor Information Frames, NIF frames, in order for stations to learn the addresses of their neighbor stations, and the addresses of other stations on the network. And transmission, reception, and processing of NIF frames requires bandwidth of the communications medium and is not practical for all tens of thousands of stations on a communications network of interconnected LANs. Accordingly, the presence of stations having duplicate addresses, where the stations are geographically widely distributed on different interconnected LANs, is not satisfactorily solved.
That is, in a single LAN, there may be a plurality of stations with each station having an SA list containing tens of thousands of addresses, both from "my address" of other stations in the network, and from additional addresses used by the various stations for transmission of frames. And any one of these tables may contain an address that is a duplicate of either a "my address" of a station in the LAN, or may be a duplicate of an entry in another station's SA list. Either of these conditions may cause Ring/Op claim oscillations as a result of source address stripping. And RMT and DAT are not a practical technique for locating the presence of such duplicate addresses.
A further example of erroneous fault recovery and ring initialization occurs in the situation where a bridge forwards frames from a first LAN to a second LAN and the bridge station on the second LAN does not keep a SA list, and a station address on the first LAN is duplicated in the second LAN. The bridge does not keep track of the source address in the SA field of the frame being forwarded, and simply forwards the frame with the source address field containing the source address contained in the arriving frame. ( Of course, in this example, the forwarded frame must be removed from the second LAN by a stripping method other than source address stripping. The other stripping method may use delimiter frames, or by counting frames transmitted and counting frames stripped, or by a combination of these process as disclosed in the article FRAME CONTENT INDEPENDENT STRIPPING FOR TOKEN RINGS, H. Y. Yang and K. K. Ramakrishnan, proceedings of the ACM, Sigcomm 1990, September 1990, or by other methods.)
A second exemplary condition causing erroneous expiration of the TVX timer is consecutive abortion of transmissions. For example, a number of conditions can lead to consecutive abortion of transmissions, including:
1) A single station repeatedly aborts transmission of frames due to internal station errors such as, for example, buffer errors. Other stations on the ring then timeout their TVX timers.
2) A number of stations repeatedly abort transmission of frames, resulting in the absence of a valid frame to circumnavigate the ring for a TVX timeout interval. For example, a station captures the token and aborts its transmission without transmitting a valid frame, and then releases the token. The next station then captures the token and also aborts its transmission without transmitting a valid frame, and then releases the token. The same sequence of aborts is then repeated by successive stations. The net result is that stations further downstream from these stations will see "aborted frames" and nothing else. These stations have their TVX timers expire because they do not receive a valid frame or token.
Accordingly, consecutive abortion of transmissions by either one station or by a succession of stations can lead to RingOp/Claim oscillations.
RingOp/Claim oscillations resulting from repeated transmission aborts have not been satisfactorily addressed.